// pages/profile/profile.js
import { reqUploadFile,reqUpdateUserInfo } from '@/api/user'
import { toast } from '@/utils/extendApi'
import { getStorage, setStorage } from '@/utils/storage'
import {
    userBehavior
} from './behavior'

Page({
    // 注册 behavior
    behaviors: [userBehavior],
    // 页面的初始数据
    data: {
        isShowPopup: false // 控制更新用户昵称的弹框显示与否
    },

    // 显示修改昵称弹框
    onUpdateNickName() {
        this.setData({
            isShowPopup: true,
            'userInfo.nickname': this.data.userInfo.nickname
        })
    },

    // 弹框取消按钮
    cancelForm() {
        this.setData({
            isShowPopup: false
        })
    },

    // 更新用户头像
    async chooseAvatar(event) {
        // console.log(event)
        // 获取头像的临时路径
        const { avatarUrl } = event.detail

        const res = await reqUploadFile(avatarUrl, 'file')
        this.setData({
            'userInfo.headimgurl': res.data
        })
        // 获取头像临时路径以后，需要将临时路径通过 wx.uploadFile 上传到服务器
        // wx.uploadFile({
        //   filePath: avatarUrl,  // 要上传的文件资源路径
        //   name: 'file', // 文件对应的 key
        //   url: 'https://gmall-prod.atguigu.cn/mall-api/fileUpload', // 开发者服务器地址
        //   header: {
        //       token: getStorage('token')
        //   },
        //   success: (res) => {
        //     const uploadRes = JSON.parse(res.data)
        //     console.log(uploadRes)

        //     this.setData({
        //         'userInfo.headimgurl': uploadRes.data
        //     })
        //   },
        // })
    },

    // 更新用户信息
    async updateUserInfo() {
        const res = await reqUpdateUserInfo(this.data.userInfo)
        if (res.code === 200) {
            // 用户信息更新成功以后，需要将最新的用户信息存储到本地
            setStorage('userInfo', this.data.userInfo)
            // 用户信息更新成功以后，同时同步到Store
            this.setUserInfo(this.data.userInfo)
            // 提示信息
            toast({title: '用户信息更新成功'})
        }
    },

    // 获取用户昵称
    getNickName(event) {
        // console.log(event)
        const { nickname } = event.detail.value
        this.setData({
            'userInfo.nickname': nickname,
            isShowPopup: false
        })
    
    }

})